/**
 * Created by jianglinjie on Fri Oct 13 2017
 * @flow
 */
'use strict';

//utils
export {
  CheckUtils,
  StringUtils,
} from './utils';

//serviceTypes
export type { CaptchaParam } from './serviceTypes';
export type { CaptchaResult } from './serviceTypes';
export type { CaptchaSendParam } from './serviceTypes';
export type { LoginParam } from './serviceTypes';
export type { LoginResult } from './serviceTypes';
export type { LogoutParam } from './serviceTypes';
export type { LogoutResult } from './serviceTypes';
export type { ModifyPassParam } from './serviceTypes';
export type { ModifyPassResult } from './serviceTypes';
export type { RegisterParam } from './serviceTypes';
export type { RegisterResult } from './serviceTypes';
export type { ResBody } from './serviceTypes';
export type { ResetPasswordParam } from './serviceTypes';
export type { ResetPasswordResult } from './serviceTypes';
export type { TokenPayload } from './serviceTypes';
export type { UserInfo } from './serviceTypes';
export type { BindPhoneParam } from './serviceTypes';
export type { BindPhoneResult } from './serviceTypes';
export type { UpdateUserParam } from './serviceTypes';
export type { UpdateUserResult } from './serviceTypes';
export type { GetUserParam } from './serviceTypes';
export type { GetUserResult } from './serviceTypes';
export type { UploadFileParam } from './serviceTypes';
export type { UploadFileResult } from './serviceTypes';
export type { GetFileParam } from './serviceTypes';
export type { GetFileResult } from './serviceTypes';

//network
export { 
  NetClient,
  FetchClient,
  NetRequest,
  GetRequest,
  JSONRequest,
  UploadFileRequest, 
  UploadFile, 
  FormRequest,
  HttpMethod, 
  ResponseType
} from './network';

export type { 
  NetHandler, 
  ResponseVerifyResult, 
  ErrorHandleResult,
  NetworkReponse
} from './network';

//constants
export {
  CaptchaBusiness,
  ErrorCode,
  GenderTypes,
  LoginType,
  RegisterType,
} from './constants';

//clientServices
export {
  AuthService,
  CaptchaService,
  ConfigService,
  ServiceError,
  isServiceError,
  ServiceNetHandler,
  ClientLog,
  PasswordService,
  RegisterService,
  UserProfileService,
  ClientServiceEmitter,
  ServiceEventNames,
} from './clientServices';